Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Servo] Use velocity scaling properly in Cartesian and pose tracking commands #3007

Merged
merged 11 commits into from
Sep 24, 2024

Conversation

sea-bass
Copy link
Contributor

@sea-bass sea-bass commented Sep 20, 2024

Description

This PR seeks to apply max linear/angular velocity scaling properly in the Cartesian and pose tracking commands. Specifically:

  • Max linear/angular speeds were not being honored at all in Cartesian mode; they were just used for unitless command scaling
  • Important: In pose tracking mode, even if a pose was far away, no efforts were made to limit the speed at that pose. The Cartesian delta was whatever joint angle difference was computed between the current state and target pose IK solution.
  • Singularity scaling was only applied in Cartesian, but not Pose tracking mode (probably an oversight)

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference
  • Document API changes relevant to the user in the MIGRATION.md notes
  • Create tests, which fail without this PR reference
  • Include a screenshot if changing a GUI
  • While waiting for someone to review your request, please help review another open pull request to support the maintainers

@sea-bass sea-bass requested a review from AndyZe September 20, 2024 05:36
@sea-bass
Copy link
Contributor Author

@ibrahiminfinite give this a look if you can?

@ibrahiminfinite
Copy link
Contributor

sure !

@sea-bass sea-bass marked this pull request as ready for review September 20, 2024 05:40
Copy link
Contributor

@rhaschke rhaschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@sjahr sjahr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! On small comment then we can merge this

moveit_ros/moveit_servo/config/servo_parameters.yaml Outdated Show resolved Hide resolved
sea-bass and others added 2 commits September 20, 2024 07:39
Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>
Copy link
Contributor

@ibrahiminfinite ibrahiminfinite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scaling looks right to me.

moveit_ros/moveit_servo/config/test_config_panda.yaml Outdated Show resolved Hide resolved
@sea-bass
Copy link
Contributor Author

sea-bass commented Sep 20, 2024

I've been periodically rerunning CI with these scaled down speeds and so far haven't encountered any test failures. Maybe this PR will help with #3005 after all.

EDIT: Just kidding, saw the flake just now 😭

@sea-bass
Copy link
Contributor Author

Made a few tweaks to the integration tests and it seems we're on a roll now!

image

Copy link
Contributor

@sjahr sjahr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's merge this then 🚀

@sjahr sjahr merged commit 7d3693b into main Sep 24, 2024
11 of 14 checks passed
@sjahr sjahr deleted the servo-scaling-fixes branch September 24, 2024 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants